#ifndef _MultiWave2Mp3_h
#define _MultiWave2Mp3_h

#include <windows.h>


// definition of the call back function for MW2MP3_CheckProcesses()
// example:
// void callBack(DWORD dwProcessId, DWORD dwExitCode) {
//	printf("Process: %d, Exit Code: %d.\n", dwProcessId, dwExitCode);
// }
typedef void (*MW2MP3CALLBACKFUNCTION)	(DWORD dwProcessId, DWORD dwExitCode);

// create a new process to convert wave to mp3
DWORD MW2MP3_CreateProcess(LPTSTR inputWave, LPTSTR outputMp3);

// check if any created processes has ended, call back if any
void MW2MP3_CheckProcesses(MW2MP3CALLBACKFUNCTION callBackFunc);

// return true if there still has more processes not ended
bool MW2MP3_HasMoreProcesses();

// force terminate all processes, use this with care!!
void MW2MP3_TerminateProcesses();



#endif
